home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / CursorDevices.idl < prev    next >
Text File  |  1996-05-01  |  2KB  |  71 lines

  1. /*
  2.      File:        CursorDevices.idl
  3.  
  4.      Contains:    Cursor Devices (mouse/trackball/etc) Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __CURSORDEVICES_IDL__
  19. #define __CURSORDEVICES_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __TYPES_IDL__
  25. #include <Types.idl>
  26. #endif
  27. #ifndef __MIXEDMODE_IDL__
  28. #include <MixedMode.idl>
  29. #endif
  30.  
  31. #ifdef __SOMIDL__
  32.  
  33. /*
  34.                        * * *  W A R N I N G  * * * 
  35.  
  36.     On currently shipping PowerMacs, the CursorDevices manager is implemented
  37.     in 68K code and emulated.  Unfortunately, the MixedMode glue in InterfaceLib
  38.     is incorrect.  It and the 1.0 version of this file had incorrect parameter
  39.     lists for most functions.
  40.     
  41.     As a first step to avoid runtime errors, the functions in this file were 
  42.     renamed (e.g. from"CrsrDevButtons" to "CursorDeviceButtons").  This will result
  43.     in a link time error if a PowerPC application tries to call the functions.
  44.     When InterfaceLib is fixed, the new names will be exported and PowerPC
  45.     code will then be able to call them.
  46.     
  47. */
  48. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  49. typedef short                    ButtonOpcode;
  50.  
  51. /* ButtonOpcodes */
  52. /* Device Classes */
  53. /* Structures used in Cursor Device Manager calls */
  54. typedef SOMLargeStruct            CursorData;                    /* Derived from a struct of 70 bytes in size */
  55.  
  56. typedef OpaquePtr                CursorDataPtr;                /* Substituted OpaquePtr for ``CursorData*'' */
  57.  
  58. typedef SOMLargeStruct            CursorDevice;                /* Derived from a struct of 138 bytes in size */
  59.  
  60. typedef OpaquePtr                CursorDevicePtr;            /* Substituted OpaquePtr for ``CursorDevice*'' */
  61.  
  62. /* for use with CursorDeviceButtonOp when opcode = kButtonCustom */
  63. typedef OpaquePtr CursorDeviceCustomButtonProcPtr;
  64. typedef OpaquePtr CursorDeviceCustomButtonUPP;
  65. #endif
  66.  
  67. #endif /* __SOMIDL__ */
  68.  
  69. #endif /* __CURSORDEVICES_IDL__ */
  70.  
  71.